//
// Created by wkm on 2023-12-11.
//
#include "ff.h"
#include "ff_tb.h"

int sc_main(int argc, char *argv[]) {
    sc_clock clk("clk", 2, SC_NS);
    sc_signal<bool> reset;
    sc_signal<sc_uint<SIZE>> data, data_out;

    ff_tb tb("tb");
    tb.clk(clk);

    tb.reset(reset);
    tb.data_out(data_out);
    tb.data(data);

    ff f1("ff_f1");
    f1.clk(clk);
    f1.data_out(data_out);
    f1.data(data);

    // 启动仿真并一直运行
    // 在模块ff_tb中，当函数sc_stop()执行后，随即停止仿真
    sc_start();  // 其实值是-1
    return 0;
}